package com.musemun.service.function;

import com.musemun.pojo.Abnormal;
import com.musemun.pojo.Vo.CrifoListVo;
import com.musemun.pojo.Vo.HouseListVo;

import java.util.List;
import java.util.Map;

/**
 * @author winner
 * @description: 文物清点接口
 * @date 2020/4/19
 */
public interface CulturalRelicsNumber {
    /**
     * 查询未清点的文物信息（小）
     *
     * @return 文物列表
     */
    public CrifoListVo getUnCheck();

    /**
     * 根据文物编号获取货架位置信息
     *
     * @param crNo 文物编号
     * @return 货架位置信息
     */
    public Map<String, Object> getPosition(Long crNo);

    /**
     * 根据输入位置与文物位置判断
     *
     * @param crAddr 输入位置
     * @param crNo   文物位置
     * @return isPosition  true/false
     */
    public Map<String, Object> check(String crAddr, Long crNo);

    /**
     * 获取收储仓库列表
     *
     * @return 仓库列表vo
     */
    public HouseListVo getHouse();

    /**
     * 根据文物编号数组获取文物列表
     *
     * @param crNoList 文物编号数组
     * @return 异常文物列表vo
     */
    public CrifoListVo listByUnScan(Long[] crNoList);

    /**
     * 根据文物编号数组获取文物列表
     *
     * @param crNoList 文物编号数组
     * @return 文物列表vo
     */
    public CrifoListVo listByScan(Long[] crNoList);

    /**
     * 将异常的文物记录到异常表里面
     *
     * @param crNoList 异常文物编号数组
     * @return 操作提示描述
     */
    public String record(Long[] crNoList);

    /**
     * 修改文物收储位置信息
     *
     * @param crAddr 输入位置
     * @param crNo   文物位置
     * @return 操作提示描述
     */
    public String update(String crAddr, Long crNo);

    /**
     * 异常表查询
     *
     * @return
     */
    public List<Abnormal> selectAbnormal();
}
